An install image may be described as an image of a computer program or computer program product that may be installed. For example, a Microsoft® Word computer program may have an associated install image. To use the computer program, a user installs the install image onto a computer system.
Install images are designed to give a user the ability to select features to be installed. For example, an install image may include information in different languages, and the user may want to install the computer program with one language. A user is able to select features during the execution of an install program that installs the install image.
To give flexibility to users, install images include a maximum number of features. This often leads to large install images, which is a disadvantage to many users. For example, Independent Software Vendors (ISVs) have application programs that embed the install image, and the ISVs often know which features they need and prefer an install image that is as small in size as possible. For example, an install image may include files for both Feature A and Feature B. If an ISV desires to only include Feature A files, the ISV has to locate the files that are used for Feature B and delete these. However, some files may be shared by both Feature A and Feature B, so the ISV has to be very careful not to delete files needed by Feature A that are also used by Feature B.
Thus, only someone with an intimate knowledge of a computer program is able to potentially investigate which portions of the install image (e.g., which cabinet files) for that computer program belong to which feature, and if the feature is not needed, delete that portion and somehow make the unwanted feature unavailable for installation. This is a very time consuming and error-prone process.
Another problem is that, potentially, other features in the install image may require one or more of the removed features, and so problems may arise in the installation and use of the computer program. Thus, image integrity is not preserved with this human process for reducing an install image size.
Therefore, there is a continued need in the art to reduce the size of install images.